package org.edu.modules.category.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import org.edu.common.aspect.annotation.Dict;
import org.jeecgframework.poi.excel.annotation.Excel;

@TableName("ve_cuz_category")
@ApiModel(value="ve_cuz_category对象", description="ve_cuz_category")
public class VeCuzCategory
        implements Serializable
{
    private static final long serialVersionUID = 1L;
    @TableId(type=IdType.AUTO)
    @ApiModelProperty("主键ID，自增长")
    private Integer id;
    @Excel(name="分类名称", width=15.0D)
    @ApiModelProperty("分类名称")
    private String name;
    @Excel(name="上级ID", width=15.0D)
    @ApiModelProperty("上级ID")
    private Integer pid;
    @Excel(name="状态（1=启用，0=禁用）", width=15.0D, dicCode="course_status")
    @ApiModelProperty("状态（1=启用，0=禁用）")
    @Dict(dicCode="course_status")
    private Integer status;
    @Excel(name="分类路径以逗号开始，如（,2,3,10）", width=15.0D)
    @ApiModelProperty("分类路径以逗号开始，如（,2,3,10）")
    private String path;
    @Excel(name="排序值", width=15.0D)
    @ApiModelProperty("排序值")
    private Integer listsort;
    @Excel(name="分类封面图片ID", width=15.0D)
    @ApiModelProperty("分类封面图片ID")
    private Integer coverid;
    @Excel(name="终端系统ID", width=15.0D)
    @ApiModelProperty("终端系统ID")
    private Integer terminalid;
    @Excel(name="多租户id", width=15.0D)
    @ApiModelProperty("多租户id")
    private Integer placeId;

    public VeCuzCategory setPid(Integer pid)
    {
        this.pid = pid;return this;
    }

    public VeCuzCategory setName(String name)
    {
        this.name = name;return this;
    }

    public VeCuzCategory setId(Integer id)
    {
        this.id = id;return this;
    }

    public String toString()
    {
        return "VeCuzCategory(id=" + getId() + ", name=" + getName() + ", pid=" + getPid() + ", status=" + getStatus() + ", path=" + getPath() + ", listsort=" + getListsort() + ", coverid=" + getCoverid() + ", terminalid=" + getTerminalid() + ", placeId=" + getPlaceId() + ")";
    }

    public VeCuzCategory setPlaceId(Integer placeId)
    {
        this.placeId = placeId;return this;
    }

    public VeCuzCategory setTerminalid(Integer terminalid)
    {
        this.terminalid = terminalid;return this;
    }

    public VeCuzCategory setCoverid(Integer coverid)
    {
        this.coverid = coverid;return this;
    }

    public VeCuzCategory setListsort(Integer listsort)
    {
        this.listsort = listsort;return this;
    }

    public VeCuzCategory setPath(String path)
    {
        this.path = path;return this;
    }

    public VeCuzCategory setStatus(Integer status)
    {
        this.status = status;return this;
    }

    public int hashCode()
    {
        int PRIME = 59;int result = 1;Object $id = getId();result = result * 59 + ($id == null ? 43 : $id.hashCode());Object $pid = getPid();result = result * 59 + ($pid == null ? 43 : $pid.hashCode());Object $status = getStatus();result = result * 59 + ($status == null ? 43 : $status.hashCode());Object $listsort = getListsort();result = result * 59 + ($listsort == null ? 43 : $listsort.hashCode());Object $coverid = getCoverid();result = result * 59 + ($coverid == null ? 43 : $coverid.hashCode());Object $terminalid = getTerminalid();result = result * 59 + ($terminalid == null ? 43 : $terminalid.hashCode());Object $placeId = getPlaceId();result = result * 59 + ($placeId == null ? 43 : $placeId.hashCode());Object $name = getName();result = result * 59 + ($name == null ? 43 : $name.hashCode());Object $path = getPath();result = result * 59 + ($path == null ? 43 : $path.hashCode());return result;
    }

    protected boolean canEqual(Object other)
    {
        return other instanceof VeCuzCategory;
    }

    public boolean equals(Object o)
    {
        if (o == this) {
            return true;
        }
        if (!(o instanceof VeCuzCategory)) {
            return false;
        }
        VeCuzCategory other = (VeCuzCategory)o;
        if (!other.canEqual(this)) {
            return false;
        }
        Object this$id = getId();Object other$id = other.getId();
        if (this$id == null ? other$id != null : !this$id.equals(other$id)) {
            return false;
        }
        Object this$pid = getPid();Object other$pid = other.getPid();
        if (this$pid == null ? other$pid != null : !this$pid.equals(other$pid)) {
            return false;
        }
        Object this$status = getStatus();Object other$status = other.getStatus();
        if (this$status == null ? other$status != null : !this$status.equals(other$status)) {
            return false;
        }
        Object this$listsort = getListsort();Object other$listsort = other.getListsort();
        if (this$listsort == null ? other$listsort != null : !this$listsort.equals(other$listsort)) {
            return false;
        }
        Object this$coverid = getCoverid();Object other$coverid = other.getCoverid();
        if (this$coverid == null ? other$coverid != null : !this$coverid.equals(other$coverid)) {
            return false;
        }
        Object this$terminalid = getTerminalid();Object other$terminalid = other.getTerminalid();
        if (this$terminalid == null ? other$terminalid != null : !this$terminalid.equals(other$terminalid)) {
            return false;
        }
        Object this$placeId = getPlaceId();Object other$placeId = other.getPlaceId();
        if (this$placeId == null ? other$placeId != null : !this$placeId.equals(other$placeId)) {
            return false;
        }
        Object this$name = getName();Object other$name = other.getName();
        if (this$name == null ? other$name != null : !this$name.equals(other$name)) {
            return false;
        }
        Object this$path = getPath();Object other$path = other.getPath();return this$path == null ? other$path == null : this$path.equals(other$path);
    }

    public Integer getId()
    {
        return this.id;
    }

    public String getName()
    {
        return this.name;
    }

    public Integer getPid()
    {
        return this.pid;
    }

    public Integer getStatus()
    {
        return this.status;
    }

    public String getPath()
    {
        return this.path;
    }

    public Integer getListsort()
    {
        return this.listsort;
    }

    public Integer getCoverid()
    {
        return this.coverid;
    }

    public Integer getTerminalid()
    {
        return this.terminalid;
    }

    public Integer getPlaceId()
    {
        return this.placeId;
    }
}
